package com.ocom.common.entity.card;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "xf_record_waitpay")
public class EntityXfRecordWaitpay implements Serializable {

    private static final long serialVersionUID = 3098479106755059599L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    private Long comId;
    private String deviceNo;
    private String deviceName;
    private Long pointId;
    private String pointName;
    private Long merchId;
    private String merchName;
    private Integer receiptId;
    private String receiptName;
    private String receiptNo;
    private Long deptId;
    private String deptName;
    @JsonProperty("pId")
    private Long pId;
    @JsonProperty("pCode")
    private String pCode;
    @JsonProperty("pName")
    private String pName;
    private String accountNo;
    private String cardNo;
    @JsonProperty("chargeBalance")
    private Long chargeBalance;
    private Long subBalance;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date consTime;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date mealDate;
    private String mealNo;
    private Long discount;
    private Integer payState;
    private Long consMoney;
    private Long realMoney;
    @TableField(value = "charge_money")
    private Long chargeMoney;
    @TableField(value = "sub_money")
    private Long subMoney;
    private Integer consState;
    private Integer consType;
    private Long opType;
    private Long opTypeDiff;
    private String orderNo;
    private String platOrderNo;
    private String payChannelNo;
    private Integer payWay;
    private String channelOrderNo;
    private String origOrderNo;
    private Long ifRefund;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date payTime;
    private Long payAmount;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date refundTime;
    private Integer discountWay;
    private int channelDiscount;
    private Long adminId;
    private String face;
    private String reserved1;
    private String reserved2;
    private String reserved3;
    private String monthValue;
    private Integer SendState;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    private Integer verification;
    private Integer parValue;
    private Integer voucherType;
    private Integer voucherNo;

    Integer channelFee;
    Integer accTypeId;

    @TableField(exist = false)
    private Integer days;
    @TableField(exist = false)
    private Integer times;
    @TableField(exist = false)
    private Integer amount;

    Integer subAccount;
}
